@ibiz-template-plugin/ibiz-file-previewer 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -25
- package/dist/index.cjs +1 -1
- package/dist/index.es.js +925 -488
- package/dist/index.umd.js +1 -1
- package/dist/style.css +2 -2
- package/dist/types/component/file-preview-item/file-preview-html/file-preview-html.d.ts +20 -0
- package/dist/types/component/file-preview-item/file-preview-image/file-preview-image.d.ts +22 -0
- package/dist/types/component/file-preview-item/file-preview-image-group/file-preview-image-group.d.ts +17 -5
- package/dist/types/component/file-preview-item/file-preview-image-group/image-page/image-page.d.ts +21 -4
- package/dist/types/component/file-preview-item/file-preview-md/file-preview-md.d.ts +10 -6
- package/dist/types/component/file-preview-item/file-preview-text/file-preview-text.d.ts +6 -2
- package/dist/types/component/file-preview-item/file-preview-unknown/file-preview-unkown.d.ts +7 -3
- package/dist/types/component/file-preview-item/index.d.ts +6 -0
- package/dist/types/component/file-preview-shell/file-preview-shell.d.ts +6 -3
- package/dist/types/component/index.d.ts +3 -0
- package/dist/types/component/loading/loading.d.ts +14 -0
- package/dist/types/const/constant.d.ts +6 -5
- package/dist/types/const/index.d.ts +2 -0
- package/dist/types/const/{file-type.d.ts → type.d.ts} +30 -2
- package/dist/types/controller/file-preview-item/file-preview-image-controller.d.ts +42 -0
- package/dist/types/controller/{file-preview-image-group-controller.d.ts → file-preview-item/file-preview-image-group-controller.d.ts} +12 -3
- package/dist/types/controller/{file-preview-item-controller.d.ts → file-preview-item/file-preview-item-controller.d.ts} +2 -11
- package/dist/types/controller/{file-preview-md-controller.d.ts → file-preview-item/file-preview-md-controller.d.ts} +1 -1
- package/dist/types/controller/{file-preview-text-controller.d.ts → file-preview-item/file-preview-text-controller.d.ts} +1 -1
- package/dist/types/controller/file-preview-item/file-prview-html-controller.d.ts +7 -0
- package/dist/types/controller/file-preview-item/index.d.ts +6 -0
- package/dist/types/controller/file-preview-item-dispatcher.d.ts +4 -3
- package/dist/types/controller/file-preview-shell-controller.d.ts +16 -2
- package/dist/types/controller/index.d.ts +5 -3
- package/dist/types/icon/index.d.ts +8 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface/i-file-preview-item-controller.d.ts +27 -20
- package/dist/types/interface/i-file-preview-shell-controller.d.ts +14 -12
- package/dist/types/interface/i-file-previewer-option.d.ts +8 -4
- package/dist/types/interface/index.d.ts +1 -1
- package/dist/types/util/util.d.ts +2 -1
- package/package.json +1 -1
- package/dist/types/component/file-preview-item/file-preview-img/file-preview-img.d.ts +0 -19
- package/dist/types/component/file-preview-item/file-preview-json/file-preview-json.d.ts +0 -18
- package/dist/types/component/file-preview-item/file-preview-xml/file-preview-xml.d.ts +0 -18
- package/dist/types/const/action-type.d.ts +0 -6
- package/dist/types/controller/file-preview-image-controller.d.ts +0 -18
package/README.md
CHANGED
|
@@ -1,37 +1,109 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 文件预览
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
ibiz文件预览器
|
|
3
|
+
## 项目初始化
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
1. 使用 Vite 创建 Vue 3 + TypeScript 项目
|
|
6
|
+
2. 安装必要依赖:sass(SCSS 支持)、vue-tsc(TypeScript 类型检查)
|
|
7
|
+
3. 配置项目结构,创建组件目录和样式目录
|
|
8
8
|
|
|
9
|
+
## 预览壳组件
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
1. 创建 `file-preview-shell.vue` 组件
|
|
12
|
+
2. 创建 `file-preview-controller.ts` 控制器模块
|
|
13
|
+
3. 实现参数处理逻辑:
|
|
14
|
+
- 接收 name、id、url 参数
|
|
15
|
+
- 处理 id 和 url 的二选一逻辑
|
|
16
|
+
- 处理 name 参数的获取逻辑
|
|
17
|
+
- 实现 url 转 id 的下载和上传逻辑
|
|
18
|
+
4. 实现文件信息展示:
|
|
19
|
+
- 解析文件名
|
|
20
|
+
- 解析引擎信息
|
|
21
|
+
5. 实现下载功能模块:
|
|
22
|
+
- 下载源文件
|
|
23
|
+
- 复制文本内容
|
|
24
|
+
- 导出为 PDF(非 PDF 文件)
|
|
25
|
+
- 导出为 MD(非 MD 文件)
|
|
26
|
+
6. 实现文件类型处理:
|
|
27
|
+
- 基于文件后缀解析文件类型
|
|
28
|
+
- 支持 html、md、txt、json、pdf 等类型
|
|
29
|
+
- 动态分发至对应预览组件
|
|
30
|
+
7. 逻辑与 UI 分离:
|
|
31
|
+
- 预览壳组件负责界面绘制
|
|
32
|
+
- 控制器模块实现功能逻辑
|
|
11
33
|
|
|
12
|
-
|
|
13
|
-
2. xxxx
|
|
14
|
-
3. xxxx
|
|
34
|
+
### 参数输入
|
|
15
35
|
|
|
16
|
-
|
|
36
|
+
| 参数名称 | 类型 | 说明 | 默认值 |
|
|
37
|
+
| --------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------ |
|
|
38
|
+
| theme | `'light' | 'dark'` | 主题 | 'dark' |
|
|
39
|
+
| selector | string | 预览组件的挂载点(必填) | --- |
|
|
40
|
+
| getContent | `(id: string,type: string,cat: string): Promise<string | object | undefined>` | 获取预览文件的内容,参数依次为:文件标识,文件类型,存储位置名称 | --- |
|
|
41
|
+
| getImgContent | `(id: string, type: FileType, cat: string) => Promise<string>` | 获取预览图片内容,参数依次为:文件标识,文件类型,存储目录 | --- |
|
|
42
|
+
| upLoadFileToOss | `(url: string): Promise<{ id: string; name: string; cat: string } | undefined>` | 上传文件至oss,参数为上传路径 | --- |
|
|
43
|
+
| downLoadFile | `(id: string, name: string, cat: string): Promise<void>` | 下载文件,参数依次为:文件标识,文件名称,存储位置名称 | --- |
|
|
44
|
+
| actionSuccessCallBack | `(type: string): Promise<void>` | 文件操作成功回调,参数为文件类型 | --- |
|
|
17
45
|
|
|
18
|
-
|
|
19
|
-
2. xxxx
|
|
20
|
-
3. xxxx
|
|
46
|
+
## 预览组件
|
|
21
47
|
|
|
22
|
-
|
|
48
|
+
1. 实现组件输入参数处理:
|
|
23
49
|
|
|
24
|
-
|
|
25
|
-
2. 新建 Feat_xxx 分支
|
|
26
|
-
3. 提交代码
|
|
27
|
-
4. 新建 Pull Request
|
|
50
|
+
- 接收预览组件控制器对象
|
|
28
51
|
|
|
52
|
+
2. 实现交互控制:
|
|
29
53
|
|
|
30
|
-
|
|
54
|
+
- 根据不同的文件引擎类型实现以下功能:
|
|
55
|
+
|
|
56
|
+
MD引擎类型:预览、查看大纲、下载源文件、复制文本内容
|
|
57
|
+
|
|
58
|
+
HTML引擎类型:预览、下载源文件、复制文本内容
|
|
59
|
+
|
|
60
|
+
TXT引擎类型:预览、下载源文件、复制文本内容
|
|
61
|
+
|
|
62
|
+
PDF引擎类型:预览、缩略图、顺/逆时针旋转、上/下一页、引擎模式切换、显示模式切换、缩小/放大、重置、下载源文件
|
|
63
|
+
|
|
64
|
+
图片引擎类型:预览、顺/逆时针旋转、图片拖拽、显示模式切换、缩小/放大、重置、下载源文件、复制文本内容
|
|
65
|
+
|
|
66
|
+
3. 逻辑与 UI 分离:
|
|
67
|
+
|
|
68
|
+
- 预览组件负责界面绘制
|
|
69
|
+
- 控制器模块实现功能逻辑
|
|
70
|
+
|
|
71
|
+
## 样式实现
|
|
72
|
+
|
|
73
|
+
1. 使用 SCSS 实现主题和响应式样式,支持暗色和亮色两套主题
|
|
74
|
+
2. 确保 HTML 结构语义化和可访问性
|
|
75
|
+
|
|
76
|
+
## 技术实现规范
|
|
77
|
+
|
|
78
|
+
- 使用 TypeScript 实现类型安全的组件开发
|
|
79
|
+
- 采用 Vue 3 Composition API 进行逻辑组织
|
|
80
|
+
- 使用 SCSS 实现响应式样式及组件主题
|
|
81
|
+
- 确保 HTML 结构语义化且符合可访问性标准
|
|
82
|
+
|
|
83
|
+
## 文件预览支持
|
|
84
|
+
|
|
85
|
+
| 文件扩展名 | 支持情况 |
|
|
86
|
+
| ---------- | -------- |
|
|
87
|
+
| jpg | 已支持 |
|
|
88
|
+
| png | 已支持 |
|
|
89
|
+
| gif | 已支持 |
|
|
90
|
+
| bmp | 已支持 |
|
|
91
|
+
| jpeg | 已支持 |
|
|
92
|
+
| webp | 已支持 |
|
|
93
|
+
| ico | 已支持 |
|
|
94
|
+
| svg | 已支持 |
|
|
95
|
+
| xls | 前端支持,后端未支持 |
|
|
96
|
+
| xlsx | 前端支持,后端未支持 |
|
|
97
|
+
| et | 前端支持,后端未支持(未找到该格式的文件) |
|
|
98
|
+
| html | 已支持 |
|
|
99
|
+
| md | 已支持 |
|
|
100
|
+
| json | 前端支持,后端未支持 |
|
|
101
|
+
| xml | 前端支持,后端未支持 |
|
|
102
|
+
| txt | 前端支持,后端未支持 |
|
|
103
|
+
| pdf | 已支持 |
|
|
104
|
+
| doc | 已支持 |
|
|
105
|
+
| docx | 已支持 |
|
|
106
|
+
| wps | 已支持 |
|
|
107
|
+
| ppt | 已支持 |
|
|
108
|
+
| pptx | 已支持 |
|
|
31
109
|
|
|
32
|
-
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
|
33
|
-
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
|
|
34
|
-
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
|
|
35
|
-
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
|
|
36
|
-
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
|
37
|
-
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|